%ifndef __NASMX_GDI32_INC__
%define __NASMX_GDI32_INC__

IMPORT AbortDoc, 4
IMPORT AbortPath, 4
IMPORT AddFontMemResourceEx, 16
IMPORT AddFontResourceA, 4
IMPORT AddFontResourceExA, 12
IMPORT AddFontResourceExW, 12
IMPORT AddFontResourceW, 4
IMPORT AngleArc, 24
IMPORT AnimatePalette, 16
IMPORT Arc, 36
IMPORT ArcTo, 36
IMPORT BeginPath, 4
IMPORT BitBlt, 36
IMPORT CancelDC, 4
IMPORT CheckColorsInGamut, 16
IMPORT ChoosePixelFormat, 8
IMPORT Chord, 36
IMPORT CloseEnhMetaFile, 4
IMPORT CloseFigure, 4
IMPORT CloseMetaFile, 4
IMPORT ColorCorrectPalette, 16
IMPORT ColorMatchToTarget, 12
IMPORT CombineRgn, 16
IMPORT CombineTransform, 12
IMPORT CopyEnhMetaFileA, 8
IMPORT CopyEnhMetaFileW, 8
IMPORT CopyMetaFileA, 8
IMPORT CopyMetaFileW, 8
IMPORT CreateBitmap, 20
IMPORT CreateBitmapIndirect, 4
IMPORT CreateBrushIndirect, 4
IMPORT CreateColorSpaceA, 4
IMPORT CreateColorSpaceW, 4
IMPORT CreateCompatibleBitmap, 12
IMPORT CreateCompatibleDC, 4
IMPORT CreateDCA, 16
IMPORT CreateDCW, 16
IMPORT CreateDIBPatternBrush, 8
IMPORT CreateDIBPatternBrushPt, 8
IMPORT CreateDIBSection, 24
IMPORT CreateDIBitmap, 24
IMPORT CreateDiscardableBitmap, 12
IMPORT CreateEllipticRgn, 16
IMPORT CreateEllipticRgnIndirect, 4
IMPORT CreateEnhMetaFileA, 16
IMPORT CreateEnhMetaFileW, 16
IMPORT CreateFontA, 56
IMPORT CreateFontIndirectA, 4
IMPORT CreateFontIndirectExA, 4
IMPORT CreateFontIndirectExW, 4
IMPORT CreateFontIndirectW, 4
IMPORT CreateFontW, 56
IMPORT CreateHalftonePalette, 4
IMPORT CreateHatchBrush, 8
IMPORT CreateICA, 16
IMPORT CreateICW, 16
IMPORT CreateMetaFileA, 4
IMPORT CreateMetaFileW, 4
IMPORT CreatePalette, 4
IMPORT CreatePatternBrush, 4
IMPORT CreatePen, 12
IMPORT CreatePenIndirect, 4
IMPORT CreatePolyPolygonRgn, 16
IMPORT CreatePolygonRgn, 12
IMPORT CreateRectRgn, 16
IMPORT CreateRectRgnIndirect, 4
IMPORT CreateRoundRectRgn, 24
IMPORT CreateScalableFontResourceA, 16
IMPORT CreateScalableFontResourceW, 16
IMPORT CreateSolidBrush, 4
IMPORT DPtoLP, 12
IMPORT DeleteColorSpace, 4
IMPORT DeleteDC, 4
IMPORT DeleteEnhMetaFile, 4
IMPORT DeleteMetaFile, 4
IMPORT DeleteObject, 4
IMPORT DescribePixelFormat, 16
IMPORT DeviceCapabilitiesExA, 24
IMPORT DeviceCapabilitiesExW, 24
IMPORT DrawEscape, 16
IMPORT Ellipse, 20
IMPORT EnableEUDC, 4
IMPORT EndDoc, 4
IMPORT EndFormPage, 4
IMPORT EndPage, 4
IMPORT EndPath, 4
IMPORT EnumEnhMetaFile, 20
IMPORT EnumFontFamiliesA, 16
IMPORT EnumFontFamiliesExA, 20
IMPORT EnumFontFamiliesExW, 20
IMPORT EnumFontFamiliesW, 16
IMPORT EnumFontsA, 16
IMPORT EnumFontsW, 16
IMPORT EnumICMProfilesA, 12
IMPORT EnumICMProfilesW, 12
IMPORT EnumMetaFile, 16
IMPORT EnumObjects, 16
IMPORT EqualRgn, 8
IMPORT Escape, 20
IMPORT EudcLoadLinkW, 16
IMPORT EudcUnloadLinkW, 8
IMPORT ExcludeClipRect, 20
IMPORT ExtCreatePen, 20
IMPORT ExtCreateRegion, 12
IMPORT ExtEscape, 24
IMPORT ExtFloodFill, 20
IMPORT ExtSelectClipRgn, 12
IMPORT ExtTextOutA, 32
IMPORT ExtTextOutW, 32
IMPORT FillPath, 4
IMPORT FillRgn, 12
IMPORT FixBrushOrgEx, 16
IMPORT FlattenPath, 4
IMPORT FloodFill, 16
IMPORT FrameRgn, 20
IMPORT GdiArtificialDecrementDriver, 8
IMPORT GdiComment, 12
IMPORT GdiDeleteSpoolFileHandle, 4
IMPORT GdiEndDocEMF, 4
IMPORT GdiEndPageEMF, 8
IMPORT GdiFlush, 0
IMPORT GdiGetBatchLimit, 0
IMPORT GdiGetDC, 4
IMPORT GdiGetDevmodeForPage, 16
IMPORT GdiGetPageCount, 4
IMPORT GdiGetPageHandle, 12
IMPORT GdiGetSpoolFileHandle, 12
IMPORT GdiPlayDCScript, 24
IMPORT GdiPlayEMF, 20
IMPORT GdiPlayJournal, 20
IMPORT GdiPlayPageEMF, 20
IMPORT GdiPlayPrivatePageEMF, 12
IMPORT GdiPlayScript, 28
IMPORT GdiResetDCEMF, 8
IMPORT GdiSetBatchLimit, 4
IMPORT GdiStartDocEMF, 8
IMPORT GdiStartPageEMF, 4
IMPORT GetArcDirection, 4
IMPORT GetAspectRatioFilterEx, 8
IMPORT GetBitmapBits, 12
IMPORT GetBitmapDimensionEx, 8
IMPORT GetBkColor, 4
IMPORT GetBkMode, 4
IMPORT GetBoundsRect, 12
IMPORT GetBrushOrgEx, 8
IMPORT GetCharABCWidthsA, 16
IMPORT GetCharABCWidthsFloatA, 16
IMPORT GetCharABCWidthsFloatW, 16
IMPORT GetCharABCWidthsI, 20
IMPORT GetCharABCWidthsW, 16
IMPORT GetCharWidth32A, 16
IMPORT GetCharWidth32W, 16
IMPORT GetCharWidthA, 16
IMPORT GetCharWidthFloatA, 16
IMPORT GetCharWidthFloatW, 16
IMPORT GetCharWidthI, 20
IMPORT GetCharWidthW, 16
IMPORT GetCharacterPlacementA, 24
IMPORT GetCharacterPlacementW, 24
IMPORT GetClipBox, 8
IMPORT GetClipRgn, 8
IMPORT GetColorAdjustment, 8
IMPORT GetColorSpace, 4
IMPORT GetCurrentObject, 8
IMPORT GetCurrentPositionEx, 8
IMPORT GetDCBrushColor, 4
IMPORT GetDCOrgEx, 8
IMPORT GetDCPenColor, 4
IMPORT GetDIBColorTable, 16
IMPORT GetDIBits, 28
IMPORT GetDeviceCaps, 8
IMPORT GetDeviceGammaRamp, 8
IMPORT GetEnhMetaFileA, 4
IMPORT GetEnhMetaFileBits, 12
IMPORT GetEnhMetaFileDescriptionA, 12
IMPORT GetEnhMetaFileDescriptionW, 12
IMPORT GetEnhMetaFileHeader, 12
IMPORT GetEnhMetaFilePaletteEntries, 12
IMPORT GetEnhMetaFilePixelFormat, 12
IMPORT GetEnhMetaFileW, 4
IMPORT GetFontAssocStatus, 4
IMPORT GetFontData, 20
IMPORT GetFontLanguageInfo, 4
IMPORT GetFontResourceInfoW, 16
IMPORT GetFontUnicodeRanges, 8
IMPORT GetGlyphIndicesA, 20
IMPORT GetGlyphIndicesW, 20
IMPORT GetGlyphOutlineA, 28
IMPORT GetGlyphOutlineW, 28
IMPORT GetGraphicsMode, 4
IMPORT GetICMProfileA, 12
IMPORT GetICMProfileW, 12
IMPORT GetKerningPairsA, 12
IMPORT GetKerningPairsW, 12
IMPORT GetLayout, 4
IMPORT GetLogColorSpaceA, 12
IMPORT GetLogColorSpaceW, 12
IMPORT GetMapMode, 4
IMPORT GetMetaFileA, 4
IMPORT GetMetaFileBitsEx, 12
IMPORT GetMetaFileW, 4
IMPORT GetMetaRgn, 8
IMPORT GetMiterLimit, 8
IMPORT GetNearestColor, 8
IMPORT GetNearestPaletteIndex, 8
IMPORT GetObjectA, 12
IMPORT GetObjectType, 4
IMPORT GetObjectW, 12
IMPORT GetOutlineTextMetricsA, 12
IMPORT GetOutlineTextMetricsW, 12
IMPORT GetPaletteEntries, 16
IMPORT GetPath, 16
IMPORT GetPixel, 12
IMPORT GetPixelFormat, 4
IMPORT GetPolyFillMode, 4
IMPORT GetROP2, 4
IMPORT GetRandomRgn, 12
IMPORT GetRasterizerCaps, 8
IMPORT GetRegionData, 12
IMPORT GetRelAbs, 8
IMPORT GetRgnBox, 8
IMPORT GetStockObject, 4
IMPORT GetStretchBltMode, 4
IMPORT GetSystemPaletteEntries, 16
IMPORT GetSystemPaletteUse, 4
IMPORT GetTextAlign, 4
IMPORT GetTextCharacterExtra, 4
IMPORT GetTextCharset, 4
IMPORT GetTextCharsetInfo, 12
IMPORT GetTextColor, 4
IMPORT GetTextExtentExPointA, 28
IMPORT GetTextExtentExPointI, 28
IMPORT GetTextExtentExPointW, 28
IMPORT GetTextExtentPoint32A, 16
IMPORT GetTextExtentPoint32W, 16
IMPORT GetTextExtentPointA, 16
IMPORT GetTextExtentPointI, 16
IMPORT GetTextExtentPointW, 16
IMPORT GetTextFaceA, 12
IMPORT GetTextFaceW, 12
IMPORT GetTextMetricsA, 8
IMPORT GetTextMetricsW, 8
IMPORT GetViewportExtEx, 8
IMPORT GetViewportOrgEx, 8
IMPORT GetWinMetaFileBits, 20
IMPORT GetWindowExtEx, 8
IMPORT GetWindowOrgEx, 8
IMPORT GetWorldTransform, 8
IMPORT IntersectClipRect, 20
IMPORT InvertRgn, 8
IMPORT LPtoDP, 12
IMPORT LineDDA, 24
IMPORT LineTo, 12
IMPORT MaskBlt, 48
IMPORT ModifyWorldTransform, 12
IMPORT MoveToEx, 16
IMPORT OffsetClipRgn, 12
IMPORT OffsetRgn, 12
IMPORT OffsetViewportOrgEx, 16
IMPORT OffsetWindowOrgEx, 16
IMPORT PaintRgn, 8
IMPORT PatBlt, 24
IMPORT PathToRegion, 4
IMPORT Pie, 36
IMPORT PlayEnhMetaFile, 12
IMPORT PlayEnhMetaFileRecord, 16
IMPORT PlayMetaFile, 8
IMPORT PlayMetaFileRecord, 16
IMPORT PlgBlt, 40
IMPORT PolyBezier, 12
IMPORT PolyBezierTo, 12
IMPORT PolyDraw, 16
IMPORT PolyPolygon, 16
IMPORT PolyPolyline, 16
IMPORT PolyTextOutA, 12
IMPORT PolyTextOutW, 12
IMPORT Polygon, 12
IMPORT Polyline, 12
IMPORT PolylineTo, 12
IMPORT PtInRegion, 12
IMPORT PtVisible, 12
IMPORT RealizePalette, 4
IMPORT RectInRegion, 8
IMPORT RectVisible, 8
IMPORT Rectangle, 20
IMPORT RemoveFontMemResourceEx, 4
IMPORT RemoveFontResourceA, 4
IMPORT RemoveFontResourceExA, 12
IMPORT RemoveFontResourceExW, 12
IMPORT RemoveFontResourceW, 4
IMPORT ResetDCA, 8
IMPORT ResetDCW, 8
IMPORT ResizePalette, 8
IMPORT RestoreDC, 8
IMPORT RoundRect, 28
IMPORT SaveDC, 4
IMPORT ScaleViewportExtEx, 24
IMPORT ScaleWindowExtEx, 24
IMPORT SelectBrushLocal, 8
IMPORT SelectClipPath, 8
IMPORT SelectClipRgn, 8
IMPORT SelectFontLocal, 8
IMPORT SelectObject, 8
IMPORT SelectPalette, 12
IMPORT SetAbortProc, 8
IMPORT SetArcDirection, 8
IMPORT SetBitmapBits, 12
IMPORT SetBitmapDimensionEx, 16
IMPORT SetBkColor, 8
IMPORT SetBkMode, 8
IMPORT SetBoundsRect, 12
IMPORT SetBrushOrgEx, 16
IMPORT SetColorAdjustment, 8
IMPORT SetColorSpace, 8
IMPORT SetDCBrushColor, 8
IMPORT SetDCPenColor, 8
IMPORT SetDIBColorTable, 16
IMPORT SetDIBits, 28
IMPORT SetDIBitsToDevice, 48
IMPORT SetDeviceGammaRamp, 8
IMPORT SetEnhMetaFileBits, 8
IMPORT SetFontEnumeration, 4
IMPORT SetGraphicsMode, 8
IMPORT SetICMMode, 8
IMPORT SetICMProfileA, 8
IMPORT SetICMProfileW, 8
IMPORT SetLayout, 8
IMPORT SetMagicColors, 12
IMPORT SetMapMode, 8
IMPORT SetMapperFlags, 8
IMPORT SetMetaFileBitsEx, 8
IMPORT SetMetaRgn, 4
IMPORT SetMiterLimit, 12
IMPORT SetPaletteEntries, 16
IMPORT SetPixel, 16
IMPORT SetPixelFormat, 12
IMPORT SetPixelV, 16
IMPORT SetPolyFillMode, 8
IMPORT SetROP2, 8
IMPORT SetRectRgn, 20
IMPORT SetRelAbs, 8
IMPORT SetStretchBltMode, 8
IMPORT SetSystemPaletteUse, 8
IMPORT SetTextAlign, 8
IMPORT SetTextCharacterExtra, 8
IMPORT SetTextColor, 8
IMPORT SetTextJustification, 12
IMPORT SetViewportExtEx, 16
IMPORT SetViewportOrgEx, 16
IMPORT SetWinMetaFileBits, 16
IMPORT SetWindowExtEx, 16
IMPORT SetWindowOrgEx, 16
IMPORT SetWorldTransform, 8
IMPORT StartDocA, 8
IMPORT StartDocW, 8
IMPORT StartFormPage, 4
IMPORT StartPage, 4
IMPORT StretchBlt, 44
IMPORT StretchDIBits, 52
IMPORT StrokeAndFillPath, 4
IMPORT StrokePath, 4
IMPORT SwapBuffers, 4
IMPORT TextOutA, 20
IMPORT TextOutW, 20
IMPORT TranslateCharsetInfo, 12
IMPORT UnrealizeObject, 4
IMPORT UpdateColors, 4
IMPORT UpdateICMRegKeyA, 16
IMPORT UpdateICMRegKeyW, 16
IMPORT WidenPath, 4
IMPORT gdiPlaySpoolStream, 24

%ifdef UNICODE

%define AddFontResource AddFontResourceW
%define AddFontResourceEx AddFontResourceExW
%define CopyEnhMetaFile CopyEnhMetaFileW
%define CopyMetaFile CopyMetaFileW
%define CreateColorSpace CreateColorSpaceW
%define CreateDC CreateDCW
%define CreateEnhMetaFile CreateEnhMetaFileW
%define CreateFont CreateFontW
%define CreateFontIndirect CreateFontIndirectW
%define CreateFontIndirectEx CreateFontIndirectExW
%define CreateIC CreateICW
%define CreateMetaFile CreateMetaFileW
%define CreateScalableFontResource CreateScalableFontResourceW
%define DeviceCapabilitiesEx DeviceCapabilitiesExW
%define EnumFontFamilies EnumFontFamiliesW
%define EnumFontFamiliesEx EnumFontFamiliesExW
%define EnumFonts EnumFontsW
%define EnumICMProfiles EnumICMProfilesW
%define ExtTextOut ExtTextOutW
%define GetCharABCWidths GetCharABCWidthsW
%define GetCharABCWidthsFloat GetCharABCWidthsFloatW
%define GetCharWidth32 GetCharWidth32W
%define GetCharWidth GetCharWidthW
%define GetCharWidthFloat GetCharWidthFloatW
%define GetCharacterPlacement GetCharacterPlacementW
%define GetEnhMetaFile GetEnhMetaFileW
%define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW
%define GetGlyphIndices GetGlyphIndicesW
%define GetGlyphOutline GetGlyphOutlineW
%define GetICMProfile GetICMProfileW
%define GetKerningPairs GetKerningPairsW
%define GetLogColorSpace GetLogColorSpaceW
%define GetMetaFile GetMetaFileW
%define GetObject GetObjectW
%define GetOutlineTextMetrics GetOutlineTextMetricsW
%define GetTextExtentExPoint GetTextExtentExPointW
%define GetTextExtentPoint32 GetTextExtentPoint32W
%define GetTextExtentPoint GetTextExtentPointW
%define GetTextFace GetTextFaceW
%define GetTextMetrics GetTextMetricsW
%define PolyTextOut PolyTextOutW
%define RemoveFontResource RemoveFontResourceW
%define RemoveFontResourceEx RemoveFontResourceExW
%define ResetDC ResetDCW
%define SetICMProfile SetICMProfileW
%define StartDoc StartDocW
%define TextOut TextOutW
%define UpdateICMRegKey UpdateICMRegKeyW

%else  ;// ANSI

%define AddFontResource AddFontResourceA
%define AddFontResourceEx AddFontResourceExA
%define CopyEnhMetaFile CopyEnhMetaFileA
%define CopyMetaFile CopyMetaFileA
%define CreateColorSpace CreateColorSpaceA
%define CreateDC CreateDCA
%define CreateEnhMetaFile CreateEnhMetaFileA
%define CreateFont CreateFontA
%define CreateFontIndirect CreateFontIndirectA
%define CreateFontIndirectEx CreateFontIndirectExA
%define CreateIC CreateICA
%define CreateMetaFile CreateMetaFileA
%define CreateScalableFontResource CreateScalableFontResourceA
%define DeviceCapabilitiesEx DeviceCapabilitiesExA
%define EnumFontFamilies EnumFontFamiliesA
%define EnumFontFamiliesEx EnumFontFamiliesExA
%define EnumFonts EnumFontsA
%define EnumICMProfiles EnumICMProfilesA
%define ExtTextOut ExtTextOutA
%define GetCharABCWidths GetCharABCWidthsA
%define GetCharABCWidthsFloat GetCharABCWidthsFloatA
%define GetCharWidth32 GetCharWidth32A
%define GetCharWidth GetCharWidthA
%define GetCharWidthFloat GetCharWidthFloatA
%define GetCharacterPlacement GetCharacterPlacementA
%define GetEnhMetaFile GetEnhMetaFileA
%define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA
%define GetGlyphIndices GetGlyphIndicesA
%define GetGlyphOutline GetGlyphOutlineA
%define GetICMProfile GetICMProfileA
%define GetKerningPairs GetKerningPairsA
%define GetLogColorSpace GetLogColorSpaceA
%define GetMetaFile GetMetaFileA
%define GetObject GetObjectA
%define GetOutlineTextMetrics GetOutlineTextMetricsA
%define GetTextExtentExPoint GetTextExtentExPointA
%define GetTextExtentPoint32 GetTextExtentPoint32A
%define GetTextExtentPoint GetTextExtentPointA
%define GetTextFace GetTextFaceA
%define GetTextMetrics GetTextMetricsA
%define PolyTextOut PolyTextOutA
%define RemoveFontResource RemoveFontResourceA
%define RemoveFontResourceEx RemoveFontResourceExA
%define ResetDC ResetDCA
%define SetICMProfile SetICMProfileA
%define StartDoc StartDocA
%define TextOut TextOutA
%define UpdateICMRegKey UpdateICMRegKeyA

%endif  ;// UNICODE

%endif  ;// __NASMX_GDI32_INC__
